package webservice;

import java.io.FileNotFoundException;
import java.util.List;

import javax.xml.bind.JAXBException;
import javax.xml.bind.PropertyException;

import org.example.hoteldb.RoomInfoLog;
import org.example.hoteldb.StayPeriodType;

import SC12Project.Milestone1.HotelReservation.UnAvailableException;


public interface HotelReservationWS_old {

	/**
	 * Query the available rooms 
	 * @param period the period to stay at the hotel
	 * @return the list of available rooms
	 * @throws UnAvailableException 
	 * @throws JAXBException 
	 * @throws FileNotFoundException 
	 * 
	 * 
	 */
	public List<RoomInfoLog> getAvailableRooms(StayPeriodType period);
	
	
	/**
	 * Book rooms  
	 * @param type the type of the room
	 * @param amount the amount of rooms to reserve
	 * @param period the period to stay at the hotel
	 * @return the ID of the booking (the ID is used to cancel the booking)
	 * @exception UnAvailableException
	 * @throws PropertyException 
	 * @throws JAXBException 
	 * 
	 * 
	 */	
	
	public String bookRoom(String type, int amount, StayPeriodType period);
	
	/**
	 * Cancel a booking
	 * @param bookingID the ID of a booking
	 * @throws JAXBException 
	 * 
	 * 
	 */
	public void cancelBooking(String bookingID);
	
}
